Radio communication interface module, and its use in a device reading, processing, transmitting and operating on a bar code

ABSTRACT

A two-way radio communication interface module based on a predefined protocol for at least a user application, the module includes at least a radio circuit for transmitting and receiving digital signals and at least a programmable circuit with a radio microcontroller for managing the radio circuit. The radio microcontroller includes a software stack consisting of a first part called protocol stack topped by a second part called applicative abstraction stack, the software stack enabling adaptation based on the protocol between the digital signals and the data and instructions of the application, the applicative abstraction stack enabling at least the translation of the data and instructions of the application into data and instructions based on the protocol for processing in the protocol stack.

This invention relates to a radiocommunication module interface, adevice, applications whereof a method for reading, processing,transmitting and using a barcode such that the method implements themodule in a stand-alone barcode reader with radio link. The inventionmay be implemented generically in all the hardware and softwareapplications including a radio link and, also, implementation morespecifically in a particular application in the field of businesspromotion, of commerce and more generally of data exchange on a computernetwork with pieces of equipment capable of processing hypermedia datasuch as text, image, sound and/or video.

Barcode type identification graphic codes are known and largely used dueto the robustness of their reading and decoding. Several encodingstandards have been defined as well as regards the one-dimension as thetwo-dimension barcodes.

These codes are read by electronic apparatuses including an opticalreading head. According to the barcode scanning method and the type ofoptical reading head implemented, one has two large types of apparatus:the contact reading apparatuses which require physical displacementbetween the optical reading head and the support whereon is provided thebarcode and the apparatuses capable of operating without any relativedisplacement, the scanning being obtained by mechanical methods(revolving mirror for example), and/or electronic methods (matrixdetector for example). For the latter apparatus, diverse technologiesmay be implemented but in all cases, these are apparatuses more complexand costly to be made than the apparatuses of the first type whereof thereading pen which is one of the simplest apparatuses to be made since itonly includes a static optical sensor and whereof the scanning of thebarcode for reading lecture is performed by the user.

The reading pens known according to the state of the art are generallylinked by an electric cable to an external electronic box itselfconnected to the keyboard of a computer. Such an optical pen istherefore not stand-alone and is not easier to manipulate since a cablelinks them to data-processing equipment. Moreover, this type of pen isof relatively high cost since the optical sensor includes moreover anoptical element which is very hard, sapphire for example, and which maysustain repeated frictions on the support including the barcode whileensuring optical adaptation.

Besides in known applications, the barcodes which are read areessentially processed locally. For example in the applications of thepayment check-out type, the data corresponding with the barcodes isprocessed at the check-out properly speaking to retrieve the price and,possibly, a description of the item, or in a local server of thebusiness site connected to the set of check-outs in order to ensure alsothe management of the stock.

The object of the invention is to provide a radiocommunication hardwareand software means in the form of a module which may adapt simply to anyuser application and, in a particular case, to a method wherein acomputer network linking pieces of computer equipment capable ofexecuting hypermedia applications implements data from reading barcodesin order to generate visual, acoustic actions and/or other, possiblyinteractive actions, on a piece of customer computer equipment inrelation to a barcode reader. The term computer equipment in the contextof the invention corresponds to any electronic device capable ofprocessing hypermedia data and of being connected to the networkcomputer and, for example, computer, micro-computer, personal assistant,telephone with WAP, GPRS, UMTS, etc. functionalities. Thanks to theparticular application of the invention, the user may read a barcodewith a reader and may receive quasi instantly a page of informationregarding the object carrying the barcode, on any type of computersupport connected to Internet (micro-computer, digital assistant, mobiletelephone or others). The object may be any current consumption object(carrying then a barcode of type EAN or UPC) or any other type of objectand, for example: visit cards, journal article, invoice, bank statement.The term barcode relates to a digital value or a character as well asseveral according to a standardised encoding or a corporate encoding(corporate barcode).

The invention relates therefore to an interface module for two-wayradiocommunication according to a preset protocol for at least one userapplication having data and instructions to be communicated to anexternal device, the module including at least one radio electroniccircuit for sending and receiving digital signals and at least oneprogrammable electronic circuit with a radio microcontroller formanaging the radio electronic circuit.

According to the invention, the radio microcontroller includes hardwaremeans co-operating with software packages in the form of a softwarestack formed of a first section so-called protocol stack topped with asecond section so-called applicative abstraction stack, the softwarestack enabling the adaptation according to the protocol between, on theone hand, the digital signals and, on the other hand, the data andinstructions of the user application, the applicative abstraction stackenabling at least the translation of data and instructions of the userapplication into a corporate format into data and instructions accordingto the protocol for processing in the protocol stack, the module being asingle hardware component also storing the user application in the formof a programme and ensuring its realisation in the radiomicrocontroller.

In various embodiments of the invention, the following means which mightbe combined according to all the technically possible combinations areemployed:

the module is composed of a radio printed circuit including an aerial,the radio electronic circuit for sending and receiving in the form of aradio and of a base band integrated circuit and the programmableelectronic management circuit in the form of a microcontroller withstorage means,

the software operation of the module is divided into tasks performedaccording to priorities, the tasks associated with the management of theradio circuit having higher priority than the execution tasks of theuser application,

the module includes moreover a second printed circuit interconnectedwith the radio printed circuit with at least one peripheral at leastselected amongst:

-   -   a digital input with possibly a comparator for level or        transition detection,    -   an analogue input with analogue-digital converter with possibly        an analogue amplifier with programmable gain or non,    -   a digital output,    -   an analogue output with digital-analogue converter,    -   a voltage controllable regulator or converter,    -   an up/down counter,    -   a real time clock,    -   a charger circuit for battery,    -   a logic circuit,    -   a memory,    -   a specialised programmable logic circuit notably selected        amongst a microprocessor, a microcontroller, a digital signal        processor or a dedicated circuit, a portion at least of the user        application in the form of a programme being then stored in said        specialised programmable logic circuit and said specialised        programmable logic circuit ensuring then its realisation,

the applicative abstraction stack capable moreover of comprisingcorporate software means for processing instructions for retrieving datafrom the peripheral and/or sending data to the peripheral,

the module includes a reprogrammable memory as well as means enablingreprogrammation of said memory on the basis of data received byradiocommunication,

the protocol is <<Bluetooth®>> or IEEE802.15.1,

the applicative abstraction stack ensures moreover and conversely thetranslation of information of the protocol stack towards theapplication;

the single component is an integrated circuit;

the module includes moreover at least one infrared two-way communicationmeans and the applicative abstraction stack includes moreover softwaremeans for processing instructions and data for and of said infraredmeans;

the module includes a voltage regulator enabling to supply said modulefrom a 220V/110V power supply socket, a battery or any other powersource and the applicative abstraction stack includes moreover softwaremeans for processing instructions and data for and of said regulator;

the module includes moreover some memory intended for storing data;

the microcontroller is of a type comprised between 8 and 16 bits, pinsincluded, with a frequency clock smaller than 200 KHz;

the microcontroller includes some memory enabling the execution of auser application programme, the programme application including asequence of instructions and of data according to the corporate format;

the memory is a pre-programmed read-only memory;

the memory is a chargeable (reprogrammable) memory;

the chargeable memory is charged by the programme application at eachbeginning of said application in the module;

the chargeable memory is charged by the programme application once andfor all at the manufacture of the module in said application;

the chargeable memory is charged by the programme application once andfor all at the first start of said application in the module;

the programme application for charging is in a read-only memory externalto the module;

the charging is performed by a wire-link, preferably a serial link;

the programme application for charging is in a computer means externalto the module;

the charging is performed by the radio link of the module.

The invention relates also to a particular application of the moduleaccording to one or several of the previous features in the form of aninterfacing device for two-way radiocommunication according to a presetprotocol for at least one software user application and including amodule according to any of the previous features, and according to whichthe device includes moreover within a single box, an electrochemicalsupply source, and at least one connector whereof the pins are linkedwith at least one interface of the module.

The invention relates also to a particular application of the module assuch or in the device according to one or several of the previousfeatures possibly combined for the realisation of an electronicapparatus including a software user application communicating by two-wayradiocommunication according to a preset protocol and including a moduleaccording to any of the previous features.

In particular embodiments the apparatus is:

a apparatus which is a barcode reading pen of a support, the penincluding at one end in an optical sensor a light source generating alight beam focused on the support and an optical detector intended toreceive and convert the light reflected by the support into electricsignals, the pen being stand-alone and including an internal electricpower supply and the radiocommunication module interface, with asoftware stack according to the <<Bluetooth>>® protocol, the userapplication in the form of an operating programme including means forprocessing the electric signals of the optical detector, and interfacingmeans via the radiocommunication module ensuring at least thetransmission of said barcodes according to said protocol to adata-processing equipment,

(the transmission of the barcodes corresponds to the characters that theuser application has read)

as an alternative to the support, the barcodes correspond to asuccessive temporal chaining of dark and clear surfaces on a displayscreen,

a apparatus which is a reading pen with recognition of alpha-digitalcharacters of a support, the pen including at one end in an opticalsensor a light source generating a light beam focused on the support andan optical detector intended to receive and convert the light reflectedby the support into electric signals, the pen being stand-alone andincluding an internal electric power supply and the radiocommunicationmodule interface, with a software stack according to the <<Bluetooth®>>protocol, the user application in the form of an operating programmeincluding means for processing the electric signals of the opticaldetector and recognising said characters, and interfacing means via theradiocommunication module ensuring at least the transmission of saidcharacters according to said protocol to a data-processing equipment,

a apparatus which is a writing recognition reading pen, the penincluding at least two accelerometers according to two axes X and Ycorresponding to the writing plane and generating electric signals, thepen being stand-alone and including an internal electric power supplyand the radiocommunication module interface, with a software stackaccording to the <<Bluetooth®>> protocol, the user application in theform of an operating programme including means for processing theelectric signals of the optical detector and recognising the writing,and interfacing means via the radiocommunication module ensuring atleast the transmission of said writing according to said protocol to adata-processing equipment,

(the transmission of the writing corresponds to the characters which theuser application has read)

the writing recognition reading pen includes a means to detect accordingto an axis Z the resting time of the pen when writing on a support,

the means to detect the resting time is a contactor or an accelerometer,

an apparatus which is one of the previous pens and which does notincludes any focusing tip made of hard matter,

an apparatus which is a mains electric supply socket controlled byradiocommunication,

the socket includes a voltage reducer for the power supply of themodule, a controlled electronic on/off switch,

the reducer is selected amongst a chopping power supply, a statictransformer power supply, a reducer capacitor power supply,

the on/off switch is selected amongst an electromagnetic relay, a triac,an electronic on/off switch with zero-crossover.

The invention relates also to a particular application of the module assuch or in the device according to one or several of the previousfeatures possibly combined in the form of a method for reading,processing, transmitting and using a barcode wherein:

-   -   the barcode is read with a reader including a radiocommunication        module interface according to one or several of the previous        features and optical reading means of the barcode optical        reading head type generating electric signals relative to the        bars,    -   said electric signals are processed in the interface module to        generate digital and/or alpha-digital data,    -   said digital and/or alpha-digital data are associated a reader        identifier in order to generate a chain of corporate data,    -   one transmits in real time the chain of corporate data to at        least one customer equipment including at least one customer        software to carry out a command understandable by said customer        equipment,

In various modes of embodiment of the method the following meanspossibly combined are employed:

when customer equipment is not available for reception, one stores thechain of corporate data in a memory of the reader,

in the customer equipment one associates moreover with the chain ofcorporate data at least one piece of data of customer equipment type inorder to build a computer address depending then on the barcode, on thereader identifier and on the data of equipment type,

one implements a correspondence table in order to associate a computeraddress with the chain of corporate data, possibly associated with atleast one piece of data of customer equipment type, the correspondencetable being situated in a computer server distinct from the customerequipment,

one implements a correspondence table in order to associate a computeraddress with the chain of corporate data, possibly associated with atleast one piece of data of customer equipment type, the correspondencetable being stored in the customer equipment,

(one also considers the case when the correspondence table is sharedbetween the customer equipment and at least one routing server, and, forexample in case when no correspondence is found in the table of thecustomer equipment, a distinct routing server is then used)

one stores the correspondence table in the customer equipment byselection according to a criterion in a global correspondence tablesituated in a computer server distinct from the customer equipment, thecriterion including at least the reader identifier,

one implements a transmission means by electromagnetic waves in freespace between the reader and the customer equipment with a communicationprotocol enabling at least to determine which are the pieces of customerequipment capable of communicating and, in case when several pieces ofequipment were operational, said protocol enabling to select at leastone of said pieces of equipment operational,

one encodes according to an encoding algorithm the digital and/oralpha-digital data before associating it with the reader identifier,

the computer address associated with the chain of corporate data is thatof a computer server relaying an information request to another computerserver,

the barcode is a corporate barcode;

the identifier of the reader is a single number on 48 bits of<<Bluetooth®>> address;

the identifier of the reader is a pre-programmed reader number duringmanufacture or programmed at a later stage;

the internal electric power supply source is of the rechargeable batteryand/or electrochemical battery type;

the reader includes a means for providing its electric power supply bythe pickup element of the user;

the reader includes a means for cutting its electric power supply by thepickup element of the user;

the means for providing the power supply is an electromechanical on/offswitch of the push-button type, the power supply is cut off when theuser releases said push-button;

the push-button is laid-out so that the user necessarily positions thereader (or pen) in a given orientation with respect to the barcode;

the given orientation is such that the reader (or pen) is substantiallyvertical when reading;

when the barcode is read without error, the power supply of the opticalsensor is cut off but the radiocommunication module remains powered;

when the barcode is read without error, the power supply of the opticalsensor is cut off but the radiocommunication module remains powered inlow consumption mode until all the digital and/or alpha-digital dataand/or binary data stored in the memory of the pen are sent back to thepieces of customer computer equipment;

the reader includes moreover a sound generator;

the programme enables to decode current barcodes among which those ofEAN and UPC types;

the programme enables moreover to decode barcodes according to acorporate encoding.

The invention relates finally to a symbol reading pen as well as amethod with their embodiments possibly combined according to all thetechnically possible combinations and corresponding to:

a symbol reading pen on a support, the pen including at one end in anoptical sensor a light source generating a light beam focused on thesupport and an optical detector intended to receive and convert thelight reflected by the support into electric signals, the pen beingstand-alone and including an internal electric power supply source, aninterface for two-way radiocommunication according to a preset protocolfor at least one user application having data and instructions to becommunicated to an external device as well as optical reading means ofthe optical reading head type generating electric signals relative tosymbols, the user application in the form of an operating programmeincluding a symbol recognition means and means for processing theelectric signals of the optical detector, interfacing means via theradiocommunication interface ensuring at least the transmission of saidsymbols according to said protocol to a data-processing equipment,

the symbols are barcodes on a support,

the symbols are characters on a support,

the symbols correspond to a writing,

as an alternative to the support, the symbols are barcodes correspondingto a successive temporal chaining of dark and clear surface on a displayscreen,

in the case of a display screen, the light source is omitted,

a method for reading, processing, transmitting and using a symbolwherein:

-   -   one reads the symbols with a reader which is a symbol reading        pen according to one or several of the previous features,    -   said electric signals are processed in the interface module to        generate digital and/or alpha-digital data,    -   said digital and/or alpha-digital data are associated a reader        identifier in order to generate a chain of corporate data,    -   one transmits in real time the chain of corporate data to at        least one customer equipment including at least one customer        software to carry out a command understandable by said customer        equipment,

a method according to the previous feature such that when a customerequipment is not available for reception, the chain of corporate data isstored in a memory of the reader,

a method according to the previous features such that in the customerequipment one associates moreover with the chain of corporate data atleast one piece of data of customer equipment type in order to build acomputer address depending then on the symbol, on the reader identifierand on the data of equipment type,

a method according to the previous features such that one implements acorrespondence table in order to associate a computer address with thechain of corporate data, possibly associated with at least one piece ofdata of customer equipment type, the correspondence table being situatedin a computer server distinct from the customer equipment,

a method according to the previous features such that one implements acorrespondence table in order to associate a computer address with thechain of corporate data, possibly associated with at least one piece ofdata of customer equipment type, the correspondence table being storedin the customer equipment,

a method according to the previous features such that one stores thecorrespondence table in the customer equipment by selection according toa criterion in a global correspondence table situated in a computerserver distinct from the customer equipment, the criterion including atleast the reader identifier,

a method according to the previous features such that one implements atransmission means by electromagnetic waves in free space between thereader and the customer equipment with a communication protocol enablingat least to determine which are the pieces of customer equipment capableof communicating and, in case when several pieces of equipment wereoperational, said protocol enabling to select at least one of saidpieces of equipment operational,

a method according to the previous features such that one encodesaccording to an encoding algorithm the digital and/or alpha-digital databefore associating it with the reader identifier,

a method according to the previous features such that the computeraddress associated with the chain of corporate data is that of acomputer server relaying an information request to another computerserver,

a method according to the previous features such that the symbols arebarcodes on a support,

a method according to the previous features such that the symbols arecharacters on a support,

a method according to the previous features such that the symbols arebarcodes corresponding to a successive temporal chaining of dark andclear surfaces on a display screen.

This invention will be better understood when reading non limitingembodiments in relation to:

FIG. 1 representing the general architecture (hardware and software) ofa Smart Module,

FIGS. 2 and 3 representing a reading pen according to two plans ofvisualisation,

FIG. 4 representing the functional flowchart of the pen,

FIG. 5 represents the reading pen in its environment,

FIGS. 6 and 7 a, 7 b, 7 c representing the operating steps of the pen,

FIG. 8, representing schematically means for implementing of the method.

It should be reminded that, generally speaking, the software stack ofthe radiocommunication module interface includes a portion correspondingto the communication protocol (pile protocol) and a portioncorresponding to the applicative abstraction stack (<<protocolabstraction API>>), the latter enabling simplified implementation ofapplications. The applicative abstraction stack may correspond to one orseveral software levels. The radiocommunication module interface, alsodesignated <<SmartModule>> <<Baracoda®>> is a generic radio module inthe form of a single hardware component which enables to carry softwareon-board user specific applications.

As a whole, a <<Smart Module>>, represented schematically on the FIG. 1,is composed of a radio means such as radio component, base bandintegrated circuit, as well as software means on-board a radiomicrocontroller, and as the case may be, of an aerial and/or ofperipherals whereof, for example, analogue or digital inputs/outputs, abattery ensuring the autonomy of the module. The <<SmartModule>> orradiocommunication module is a generic radio module which enables tocarry on-board the application software. The <<SmartModule>> is suitedto all types of radio protocol, corporate or not and, for example,<<Bluetooth®>>, GPRS, CDMA2000, WCDMA, <<Home RF>>, 802.11b, <<WLAN>>,<<Wi-Fi>>, 802.11.a, <<Hyperlan>>, <<Zigbee>> or 433 MHz solutions.

The microcontroller of the interface module integrates all the softwarelayers of the protocol in the protocol stack, the applicativeabstraction stack, the profiles as well as on-board software (userapplication). The applicative abstraction stack which may also processinstructions and corporate data, enables, for example, fine managementof the power supply and low consumption modes specified in the“Bluetooth®>> standard. It enables as a whole to create an abstractionlayer above the protocol stack corresponding to the protocol consideredin order to provide software interface between the software specific tothe protocol considered (the Bluetooth protocol stack, for example) andthe user software, on-board. This interface enables, as regards the userapplication, to simplify the use of the protocol and to vastlyfacilitate the development of on-board applications using an interfaceradio which is complex and very specific. This enables thereforecustomers to accelerate the development without knowing the subtletiesof the protocol used.

The peripherals associated (hardware), as well as their softwaremanagement (master) enable, just as the on-board software, to facilitatethe development of applications and the integration of the module in anytype of electronic product.

Several peripherals are offered in a component library they may be forexample voltage regulators (3.3V-5V), analogue/digital converters (ADC),digital/analogue converters (DAC), counters, comparators (at input),voltage converters, a battery charging circuit, an additional 8-bitmicrocontroller, basic software functions as well as inputs/outputs, forexample, controlling an “LED” (light-emitting diode) or “buzzer” andreading the condition of an on/off switch or of an optical reader. Theseperipherals may be added or removed during the electronic integrationphase of the application. In relation to the peripherals adopted or not,means for processing data and instructions of these peripherals will beor will not be inserted in the applicative abstraction stack. In aparticular version, the module includes a voltage regulator enabling tosupply said module from a 220V/110V power supply socket, a battery or ofany other power source.

The interest of these peripherals is that they do not modify theelectronic functionalities of the product wherein one integrates the<<SmartModule>>: the applications introduced do not require anymodification of the electronic board of the existing product, hence again in cost and integration time. The selection of the differentperipherals is made very quick by the use of a development kit<<SmartModule>> in the form of an electronic board whereon are weldedall the peripherals which may be contemplated. In a basic version, theperipherals are not connected but it is possible to position electricwires or jumpers between the inputs/outputs of each peripheral and themicrocontroller. From the position of the electric wires in thedevelopment board, one deduces therefrom the electric pattern of themodule. A specific routing and cabling work of the printed circuit isthen necessary. In a more evolved version, peripherals are addressablespecifically through programmable logic or analogue gates and thefunctional configuration of the module is programmable instead of (or inaddition to) the cabling phase. In particular, the microcontroller may,for example, comprise an ADC and a counter. It can be understood thatthe implementation of a particular peripheral relates as well to thehardware electronic circuit as to the associated software means in orderto operate said peripheral and to recognise and to run corporateinstructions which are specific thereto. As already seen, the softwaremeans of the module may be pre-programmed or charged at usage.

In a particular case of protocol, <<Bluetooth>>® corresponds to astandard technology of short-range communication radio between twopieces of equipment. The term customer equipment signifies computerequipment (electronic assistant, computer or mobile telephone) known bythe reader. They are pieces of equipment whereof the <<Bluetooth®>>address (48 bits) is recorded in a memory of the reader. The object ofthe <<SmartModule>> is to facilitate the integration of the<<Bluetooth®>> technology in all types of electronic products, with awire structure or not.

The radiocommunication module facilitates vastly the integration of saidtechnology in electronic products since the conventional <<Bluetooth®>>devices do not integrate any on-board software and are controlled from acomputer or processor external to the module (<<host>>), which requiresthe implementation between the device and the <<host>> of theinstructions and data which are complex and specific to said technology.However, in a conventional electronic product, the processor of saidproduct does not contain the code which enables to control the<<Bluetooth®>> device and, moreover, it is very difficult to modify thecode existing in an on-board processor because of the memory size andthe absence of operating system in most rustic electronic products.

The Smart Module is therefore composed of a module hardware and of amodule software. FIG. 1 represents the pattern of the architecture ofthe Smart Module.

Hardware Architecture:

The example of <<SmartModule>> represented is composed of 2 printedcircuits, welded on one another. The first printed circuit is the radiocircuit properly speaking, it is composed of a aerial, of a radio, of abase band integrated circuit, of a microprocessor or microcontroller(<<radio MCU>>), of a FLASH or ROM-type programme memory and of aRAM-type memory. It is called here radio module (RM). The second printedcircuit integrates at least all the peripherals necessary to the correcthardware operation of the radio module in its environment. It is calledhere hardware connection (Hardware Patch or HWP). Said second printedcircuit may also comprise other peripherals as explained previously andwhich depend on the application contemplated. Still, as explainedpreviously, one or several interfaces not used in a particularapplication may be present by default, if only because they areintegrated by default in the electronic circuits implemented. Inpractice, because of the costs, several types of modules are providedincluding a variable number of interfaces and/or in relation topotential applications. For example, a generic module intended for thestudy and the development of applications may comprise a large number ofinterfaces as well the modules intended for the large series productionwill include a minimum number or simply the interfaces necessary to theapplication.

In other versions, the radiocommunication module is on a single printedcircuit and in a high integration version, the radiocommunication moduleis a single integrated circuit which is hybrid or, preferably,monolithic.

Software Architecture:

The software corresponding to the stack with the protocol stack and theapplicative abstraction stack and the possible applications of the user,is on-board the microcontroller(s) of the <(SmartModule)). By defaultand in the minimum version of the module, there is a microcontroller(microprocessor, FLASH or ROM memory, RAM memory) on the radio circuitand this microcontroller is designated the <<radio MCU>>. In moresophisticated versions of the module, it is possible to add a secondmicrocontroller (8-bit, 16-bit, 32-bit or DSP) on the HWP, i.e. thesecond printed circuit in the example represented.

The interest of a second microcontroller (external MCU) lies in thepossibility of carrying out specific processes which could not becontemplated on the microcontroller of the radio circuit because of realtime constraints, of limitation of the calculation power of thecontroller of the radio circuit, of the necessity to have additionaland/or specific inputs/outputs (not available on the microcontroller ofthe radio circuit).

The following description provides a particular example of embodiment ofthe radiocommunication module within the framework of the<<Bluetooth®>>, protocol.

The <<SmartModule®>> facilitates the integration of the <<Bluetooth®>>technology in all types of electronic products, with a wire structure ornot and enables to accelerate the development cycle of a new product.The radio circuit is generic and there are 2 versions for the<<Bluetooth®>> protocol, a first short-range version with a maximumtransmission power of 4 dBm (2.5 mW) and a second long-range versionwith a maximum transmission power of 20 dBm (100 mW).

The <<Radio MCU>>

The <<radio MCU>> is a microcontroller using the processor ARM7 TDMI.Other architectures 32-bit RISC can still be used. The <<radio MCU>> hasa ROM or FLASH-type programme memory. This programme memory may beintegrated on the chip of the processor or on an external integratedcircuit and, in the latter case, the memory is in the radio module (RM).A hybrid architecture may also be implemented. The order of magnitude ofthe size of this ROM/FLASH memory is 1 Mbit to 32 Mbit, where thisparameter may be led to change relative to technologic evolutions and/ormemory requirements of the application. A RAM memory is also on-boardthe radio module (RM). It has a size of the order of 16 KBytes to 128Kbytes, parameter depending on the technologic evolutions and/or memoryrequirements of the application. A memory internal to themicrocontroller and an external memory may be associated in the radiomodule (RM) in case when the memory requirements are significant, aswell as for the ROM/FLASH as for the RAM. Counters (<<timer>>) are alsointegrated in the <<radio MCU>>.

The Protocal Stack

The portion of the software stack corresponding to the management of theprotocol Bluetooth, stack protocol, is in this example, the <<Bluetooth®protocol Stack>>, includes the lower layers of the software (beneath theinterface HCl), the higher layers (L2CAP, SDP, RFCOMM) as well as the<<profiles>>, above the higher layers of Bluetooth. The <<Bluetooth®>>profiles are just beneath the applicative translation unit (applicativeabstraction layer), itself beneath the possible applications of theuser.

The Applicative Abstraction Stack

This applicative abstraction stack (<<protocol abstraction-API>>) isarranged functionally above the layers or levels of the stack protocol,enabling a user application to use services of all the layers of the<<Bluetooth®>> protocol and to benefit from the wealth of this standardand, as already seen, possible additional local functionalities (localinterface management, specific instructions . . . ).

This portion of the software stack is partially common to all the<<Smart Modules>> used in data acquisition tools (barcode reading,magnetic badge or contact-less reading, chip board reading, mouse,keyboard, temperature sensor, pressure sensor, movement sensor, writingrecognition, CCD or CMOS camera, etc. . . . ). For other types of usage,there is provided another type of applicative abstraction stack. In allcases, said stack enables to develop applications as simply as possibleand independently from the instructions and formats of the communicationprotocol considered. This applicative abstraction stack enables toaccess the radio interface without knowing the <<Bluetooth®>> protocol.

The user has three main commands:

a data sending command which specifies the size of the data to be sent(2 bytes), the <<Bluetooth®>> address (48-bit MAC address) of theassignee (6 bytes), the profile used (1 byte), a service qualityparameter (1 byte) and the data (<<payload>>).

a request command (<<inquiry>>) enabling the application <<Smart ModuleManager>> situated above the applicative abstraction stack to find allthe <<Bluetooth®>> products accessible in the vicinity and to recogniseservices that they offer.

listening to the <<Smart Module>> with a parameter (1 byte)characterising the listening mode.

These request commands (<<inquiry>>) and these listening mode activationcommands are close to those offered by the GAP (<<General AccessProfile>>). Conversely, the first primitive send command is a veryabstraction which masks the complexity of the <<Bluetooth®>> protocoland which enables a gain in development time. We shall now detail thedifferent parameters used in the send command:

BDADR (<<Bluetooth®>> address of the assignee of the shipment): thisaddress is provided by the <<Smart Module Manager>>. Different addressesare stored in the non-volatile memory of the <<Smart Module>>, they comeeither from a configuration phase, or a request phase (<<inquiry>>). Theorigin of the <<Bluetooth®>> addresses is not managed by the applicativeabstraction stack, but at still higher a level by the <<Smart ModuleManager>>.

the profile: one of the specificities of the <<Smart Module>> is to beable to manage a multi-terminal and multi-profile intelligent operation.This aspect will be detailed in the particular case of the use of the<<Smart Module>> inside the barcode reading pen.

the service quality: this parameter defines whether an authentication isrequired, whether data should be encrypted, what usage type of the lowconsumption modes should be employed (arbitration level betweenconsumption and delay for sending data).

<<Smart Module Manager>>

It is a piece of software specific to the product wherein the Smartradiocommunication module is integrated. This layer is truly the controllayer of the <<Smart Module>>. It is a high level software layer whichenables to do away with the complexity of the radio protocol but alsowith the interconnection difficulties between the <<Smart Module>> andthe product wherein it is integrated.

A portion of the <<Smart Module Manager>> manages the sending of data toone or several terminals twinned with the module in the configurationphase. It therefore enables to manage a multi-terminal connection and toadapt the connection mode and the type of <<profile>> used in relationto the terminal.

During the configuration phase, several Bluetooth addresses of twinnedterminals are recorded in a memory non-volatile of the Smart Module.

This layer is a corporate sub-layer developed by Baracoda. It may beused in Smart Modules integrated in all types of data acquisition tools,such as barcode readers, among others.

The <<Smart Module Manager>> uses the services of the software HMI,<<Power Manager>>, <<IO Manager>> (inputs/outputs management) or anyother type of specific application (decoding barcodes, encryption, formrecognition algorithm, encoding/decoding of the video, voice, andimage). This specific application may also be a protocol stack (TCP/IPfor example). These vertical applications may operate on the radiomicrocontroller or on a specific external microcontroller if necessary.

The <<Smart Module Manager>> uses a number of software packages whichare now described:

MMI (<<Man Machine Interface>>):

This software is specific to the environment wherein the <<SmartModule>> is used. It enables to manage by a software the modification ofthe man/machine interface induced by the addition of a radio and of abattery. The user must notably be informed of any successful shipment ornot of data and/or when the battery is charged insufficiently and/orwhen it is in charging mode. The man/machine interface is managed at theMMI layer of the <<Smart Module>>. Hardware implementation of thissoftware may be carried out either by using conventional peripheralssuch as LED, <<Buzzer>>, LCD screen or others, or, possibly associated,with new peripherals integrated on the HWP (battery charging circuit) tothat end or at the terminal(s) with which the product is set up. Forexample, the battery level of the product wherein the <<Smart Module>>is integrated may appear at the terminal and not on the product.

Power Manager (<<Power Manager>>):

This software enables to use the Smart Module as power supplycontroller. More precisely, this application software enables to controlseveral power supply zones within the same product. The purpose is tocontrol by a software several regulators or transistors which enable tosupply or not certain electric zones of the <<Smart Module>> properlyspeaking and also of the product wherein it is implemented. Theseregulators and transistors are positioned on the hardware patch. Itshould be noted that the battery charge management is not taken intoaccount at the <<Power Manager>> software, but at the HWP (batterycharge circuit).

Management of Inputs and Outputs (<<IO Manager>>):

It is a layer which manages all the inputs/outputs between the productand the <<Smart module>>. They are for example of the serial link type(synchronous or asynchronous) or parallel, analogue or digital.

On FIGS. 2 and 3, a pen 1 is seen in transparency. Inside a box 10 ofplastic material, an optical sensor 2 is arranged towards an end inrelation to an optical channel 11 of hard material ahead of said pen 1.A communication module of Smart Module type is implemented in the formof a printed circuit 8 including an on/off switching means 3,push-button, a radio-electric component 4 according to the<<Bluetooth®>> protocol, a microcontroller 5 including read-only memoryand random-access memory, whereas the memory may be one of the followingtypes: ROM, EPROM, EEPROM, RAM, Flash, SRAM and an electric power supplysource 6 in the form of two single-use batteries or of rechargeablebatteries. The optical sensor 2, the printed circuit 8, the power supply6 are held in place by attachment means of the box 10. The pen asclaimed is an application of the interface module claimed. The SmartModule used, integrates a two-way radio component and a base bandintegrated circuit, according to the “Bluetooth®>> standard, as well asa microcontroller enabling to carry on-board, in whole or in part, the<<Bluetooth®>> protocol stack as well as dedicated softwareapplications. An additional microcontroller may be used for thelistening phase, corresponding to the measurement of the successivelengths of a barcode. The decoding is performed either on the externalmicrocontroller or on the microcontroller on-board the <<Bluetooth®>>chip.

On FIG. 4, the previous pen is seen according to a plane perpendicularto the previous one enabling to observe on the printed circuit 8 alight-emitting diode (LED) 9 and an aerial 7 for the radio electricmodule 4. The aerial 7 is here an aerial of <<wire structure>> typeprinted on the printed circuit, but it might also be an aerial of<<patch>> type or any other type of radiating element placed inside thepen. The two-colour LED 9 enables to inform the user on the operatingcondition of the pen. This LED 9 may be replaced with any other type ofalarm (sound generator, buzzer for example).

The optical sensor arranged at one end of the reader implementsreflection optics with a light-emitting diode, for example of 700 nmwavelength, and a photodiode. An aspheric forked lens or, in anotherembodiment not represented, a system of optical fibres, is arranged atthe front of the light-emitting diode and of the photodiode in order toobtain a single focus point at the front of the pen. The output signalof the optical sensor is a current generated in the photodiode and whichis amplified by a transistor or an operational amplifier and which isconverted into a binary voltage which may be processed by themicrocontroller 5. A black surface absorbs the light emitted by thesensor and, in such a case, the output current is weak, the output is ata logic level 1. Conversely, outside a black surface, the light isreflected and the output voltage is at a logic level 0.

The reader includes a box 10 and the optical sensor is held in the boxat constant distance from the end of the pen, an optical channel 11being realised between said end and the sensor. Preferably, the opticalchannel is a light guide (optical fibre for example) or a lens(spherical tip) made of <<hard>> material.

The pen type reader of the invention is simple to make and includespreferably a box made of moulded plastic material and implements areduced number of parts. The electronic circuit of the reader includes aprogramme in a read-only memory intended for decoding barcodes of one ofthe following types: EAN, UPC, codes 128, code 39 and possibly specificbarcodes. Preferably, the specific barcodes comprise error correctionmeans. Preferably, the specific barcodes are encoded in order tocomprise redundancies enabling, during decoding, to correct errors madewhen reading said barcode. These corporate barcodes are encodedaccording to the principle of error correction codes used conventionallyin the field of telecommunications.

Contrary to the state of the art, the pen claimed may read new types ofbarcodes on display screens, for example of television sets, computersor electronic assistants as well as screens of mobile telephones or anyother type of screen using the plasma, TFT, liquid crystal (LCD)technology or by scanning (VGA, XVGA . . . ). The barcodes used in sucha case are very different from those of the state of the art: these arenot codes having any <<spatial extension>> but rather a <<timeextension>>. More precisely, the barcodes claimed in the inventioncorrespond to a succession of dark and clear surfaces on the displayscreen. As a traditional barcode, the information is encoded in thesuccessive durations of the bars and spaces of the code. The user seesthis code as a quick flashing of the screen. As this code is decoded bythe pen claimed, the user holds said pen in contact with the screen;whereas no displacement is performed on the screen. This characteristicof the pen is a feature of the decoder (software module on-board thepen) and of the analogue circuit carrying out the conversion of theanalogue signal from the photodiode, into a digital signal. The maindifficulty of this decoding type lies on the one hand in the lowcontrast between a <<white>> screen and a <<black>> screen. On the otherhand, in scanning-type systems, a refreshing frequency is used andcomplicates the decoding very much. This characteristic being particularmainly to the decoding software, it is independent of the readingtechnology used (CCD, contact reading, CMOS sensor).

This example of reader in the form of a simplified reading pen which isstand-alone with low cost enables implementation of the method ineveryday life and more especially in relation to computer means of thehypertext type (hypermedia) on micro-computer, personal assistant,mobile telephone, access point or others. However, any type of readerincluding the functionalities specified may be implemented with themethod of the invention.

The element common to the various reading technologies implemented isthe interface module or Smart Module.

On FIG. 4 is represented a block diagram of the pen. Said diagramenables among other things to integrate the on-board software andenables therefore to use the component Bluetooth, on the one hand tosend and receive data by radio and on the other hand, to perform thedecoding of the barcode, the management of the man/machine interface aswell as the management of the power consumption and of the battery. Thisenables to reduce the complexity (size of memory, calculation power) ofthe external microcontroller and hence to reduce the hardware cost ofthe product. The original architecture (software and hardware) of theSmart Module, claimed in the invention, enables therefore to reduce verysignificantly the cost of a wireless reading pen and may thereforeaccelerate the implementation of the method in everyday life and moreparticularly in relation to computer means of the hypertext type(hypermedia)

In a particular embodiment of the reader, for example the pen described,the push-button is arranged so that the user positions necessarily thereader in a given orientation with respect to the barcode. Thepush-button is thus arranged so that the pickup element of the userholds the reader in a given position so that he may depress the buttonand launch the reading cycle. This given orientation is such that thereader is substantially vertical, i.e. substantially perpendicular withrespect to the support of the barcode, when reading. In case when theuser should scan the barcode manually, the push-button is also arrangedto facilitate said scanning and, for example, so that the pickup elementof the user works according to scanning habits used when writingmanually.

On FIG. 5, one has represented a pen 1 when reading a barcode 14 on anobject 13. In the close environment which may be reached byradio-electric waves 18 of the module 4 several pieces of computerequipment are arranged which may communicate by electromagnetic wavesaccording to the <<Bluetooth>>® protocol with said pen 1. These piecesof equipment are a micro-computer 15, a mobile telephone 16, withhypertext functionalities, a personal assistant 17 and one or severalaccess points to a local network.

Initialisation and Configuration Phase

A first initialisation phase is provided for the configuration of thepen. The purpose of this phase is to specify which peripherals are<<twinned>> with the reader. This initialisation method is managed atthe processor on-board the Smart Module, at the software Smart ModuleManager. It comprises 4 steps:

-   -   1—Downloading the customer software on one of the user terminals        (micro-computer for example). This software is described        schematically on FIG. 9.    -   2—The user must then select the set of terminals with which he        wants to <<twin>> the pen. Two means are possible to fill in        this list: or, the user performs, from the terminal, an        <<inquiry>> and selects the terminals found by the inquiry. This        requires that the user configures all the terminals in listening        mode (<<discoverable>>). Or the user fills <<in long hand>> the        list of Bluetooth addresses (48-bit MAC address). Once the list        of the terminals is formed, the user must then fill in a field        containing the identifier number of the pen (48-bit address of        the pen or any other identifier type of the pen). The customer        software then prompts the user to switch the pen into listening        mode.    -   3—Several means are offered to the user to switch the pen into        listening mode (<<discoverable mode>>). The first corresponds to        reading a specific barcode (corporate code) and the second        method corresponds to the position of the pen in contact with a        <<white>> paper for a duration of the order of 1 to 5s        approximately. These listening parameters of the pen may evolve        and this description is not exhaustive. In parallel, the        customer software attempts a connection towards the pen and        sends the information specific to the configuration: list of        addresses of the peripherals or twinned terminals, the        description of the <<profile>> to be used for each terminal, as        well as an order of priority associated with each piece of        equipment. The NULL or BATCH terminal may be part of the list of        the twinned terminals. The purpose is to configure the reader in        asynchronous mode: instead of trying to send, over radio, a        decoded barcode towards a remote terminal, the pen stores said        barcode in its non-volatile memory.    -   4—The configuration data is then stored in the non-volatile        memory of the pen and might be modified at each instant by        performing again a configuration phase. Upon completed        initialisation of the reader, the user is informed of the        success of the initialisation phase via the man/machine        interface of the pen and/or of the user terminal.

Once this initialisation phase has been conducted, the pen may be usedas follows:

On FIG. 6, only the telephone 17 is functional. The link is thenestablished between the equipment and the pen, the data read by the penis read in the form of sets of digital or alpha-digital or binary datais transmitted by electromagnetic waves 20 towards the equipment 16 asrepresented on FIG. 3 c. The transmission of data is performed in realtime, the data being transmitted as it is read and decoded or inquasi-real time, the handshake with the equipment or the pieces ofequipment of the environment taking place before the transmission, thechains of data being stored temporally in the pen 1 as said link isbeing established. Between reading 2 consecutive barcodes, theconnection is held to maintain reduced consumption.

Management of Low Consumption Modes

The power consumption is an essential element in the operation of thepen. The <<Bluetooth®>> protocol has a great intrinsic advantage interms of consumption with respect to other radio standards like 802.11b.Nevertheless, the <<Bluetooth®>> protocol needs to be used in all itscomplexity and notably in terms of management of low consumption modes.The <<Bluetooth®>> abstraction stack integrates this efficientmanagement of the <<Bluetooth®>> connection modes.

When reading the barcode for the first time, the connection is created.When the barcode is sent, the radio connection switches into <<sniff>>mode with a short <<Sniff>> interval. This enables to keep a limitedlatency time. After a certain time period (T1), the <<sniff>> period isincreased in order to reduce the consumption still further. Theshortcoming in such a case is an increase in the lead time for sending abarcode. It is nevertheless not a problem since, in such a case, theduration between 2 successive readings is long and the sending lead timeis not fundamental. After a certain time (T2), the reader switches into<<parked mode>> after exchanging the master/slave roles. After a timeT3, the radio connection is cut off and the power supply of the SmartModule is turned off.

The durations T1, T2, T3 are variable parameters which are adapted tothe usage mode of the user and provide statistics of durations betweensuccessive readings. For a given user reading barcodes at an averagehigh rate, the values of T1, T2 and T3 will be selected as shorter.

Multi-Terminal Connection Management

FIG. 5 represents a pen in its environment. The pen may be set up withdifferent and quite diverse pieces of equipment. It is one of thesignificant elements of the “Bluetooth®” standard: interoperability andmulti-terminal connectivity. Nevertheless, even if these services areprovided by the “Bluetooth®” standard, it is still necessary to managethis connectivity in an intelligent way taking into account the factthat the man/machine interface at the pen is very reduced and that itdoes not enable therefore to select towards which pieces of equipmentthe pen must be connected. This intelligent management is a feature ofthe pen and is integrated in the applicative layer of the Smart Module.

During the configuration, the devices with which the pen may beconnected are recorded in the non-volatile memory of the pen.

If the pen has been configured in asynchronous mode (by using only theNULL terminal in the configuration phase), each decoded barcode will bestored automatically in the non-volatile memory of the pen (FIG. 7 a).In order to access at a later stage the data recorded in the pen, theuser must proceed to an upload or charging phase of the data. This phaseis performed by switching the pen into listening mode (by reading acorporate code for example) (FIG. 7 b) while actuating the chargingfunction on the customer software (micro-computer for example). All thebarcodes in memory are then transferred by radio waves towards the userterminal (FIG. 7 c).

In the case of a real-time mode configuration (FIG. 6), i.e. the pen hasbeen configured with at least one non-NULL (or BATCH) user equipment,the pen tries to connect with different pieces of equipment in memory inorder of priority or by using the equipment twinned last. This handshaketakes place only at the beginning of a reading phase. A reading phasebeing characterised in that between 2 successive readings, the durationis shorter than T3 (duration of inactivity before total extinction ofthe power supply). Throughout the reading phase, the connection is heldin low consumption modes as described in the portion called <<managementof low consumption modes>>. If none of the pieces of equipment twinnedreacts to the handshake from the pen, said pen is configuredautomatically (after one or several fruitless attempts) in asynchronousmode during the same reading phase.

The heterogeneity of the twinned terminals with a pen is very important.The handshake modes, specified in the <<profiles>> of the <<Bluetooth®>>standard are very different of from one type of terminal to another. Theon-board software in the Smart Module of the pen is capable of managingseveral <<profiles>>. More precisely, the applicative abstraction layerselects automatically the appropriate handshake mode in relation to thepiece of equipment with which the pen wants to connect.

For example, in the case of an access point, the <<profile>> which isadequate is the <<Lan Access Point Profile>>, for a computer or digitalassistant, it is the <<Serial Port Profile>> or <<HID profile>> and fora telephone it will be either the <<DialUp Networking Profile>>, bysending AT commands towards the telephone. In such a case, the customersoftware is reduced to NULL on the terminal: the hypermedia navigator ofthe telephone being remote-controlled by the pen via AT commands. Othersolutions may be implemented, notably, it is possible to download acustomer software on the SIM card of the mobile or in the processormemory of the telephone.

Battery Management

The battery of the pen is rechargeable via an electronic circuit,integrated in the Smart Module. Several voltage regulators, voltagecontrolled, are used on the Smart Module to control by a software, thepower supply of different zones independent of the pen. For example,when the user releases the action button, the zone corresponding to thereading head is not power supplied. Conversely, the power supply of theradio module remains as long as the on-board software requests so. Thisenables finer management of the consumption of the pen while separatingcorrectly by functionalities the different electronic circuits formingthe pen.

Man/Machine Interface Management

This interface is managed by the software in the Smart Module of thepen. On the pen there are light-emitting diodes or a sound generator.This interface enables to signal the user a good reading or a badreading, a successful radio send or not. It also enables to inform theuser when the battery level is too low. A portion of this man/machineinterface can be delocalised on the terminal when said terminal isprovided with a richer interface (micro-computer or mobile telephone forexample)

In its application, the invention is structured around four components:

the barcode reader,

the customer equipment,

the routing server,

the document server, possibly reached by a relay server (proxy).

Anyone who wishes to access the information and services associated witha resource uses the barcode reader to scan the barcode referring to thisresource. The reader then decodes the barcode to generate a resourceidentifier. Said identifier is sent with the own identifier of thereader towards the customer equipment, through a local connection.

The customer equipment processes the identifiers received to determinethe address of an appropriate document server. This server has thehypermedia documents exhibiting the information and services relative tothe resource designated with the reader. The customer equipment may, tofacilitate its address research, obtain additional information from therouting server.

The identifiers from the reader are then relayed through a remoteconnection towards the document server, whereof the address has justbeen determined by the customer equipment. Additional informationwhereof the user has authorised the broadcast may at this stage betransmitted over by the same channel.

Possibly, the remote connection towards the document server goes througha relay server or proxy, which is capable of storing the request and/orof processing it for statistical purposes or others, before transmittingit integrally to the document server.

Finally, the document server processes the data which has beentransmitted thereto in order to send back to the customer equipment thehypermedia document which will enable the user to access the informationand services requested.

All these steps take advantage of the latest technological breakthroughsin the field of telecommunications to offer real-time or quasi real-timeservice: there are only a few seconds between the scanning of thebarcode and the presentation of the associated hypermedia document.

The barcode reader is a piece of hardware equipment capable of decodinga barcode into electric signals then into digital and/or alpha-digitaldata. Such data forms an identifier of the resource referred to by thebarcode. This resource identifier and another identifier personal to thereader are both transmitted towards the customer equipment via a localconnection.

The reader is intended for general public and consequently should becheap enough. It may conversely be of modest quality in comparison withindustrial readers since its use is vastly less intensive.

it can be broken down into four main portions:

-   -   an optical transceiver,    -   a power supply,    -   a local transmitter,    -   a box.

The local connection is a short-range communication link between twopieces of equipment. The distance between the pieces of equipment doesnot exceed a few ten metres.

Comprised as an electronic device, the local connection localedesignates a short-range transceiver controlled via a communicationprotocol.

The customer equipment is the central element of the system. Thecustomer equipment is a piece of user equipment implementing thecustomer software. The user equipment is a piece of hardware equipmentpossessed by the user.

It may have various characteristics, mobile or not, providing thefollowing elements are available:

-   -   a local connection,    -   a remote connection,    -   an operating system with a documented programming interface,    -   a hypermedia navigator.

Concretely, a piece of mobile equipment may be a computer or a digitalassistant connected to the Internet, a WAP mobile telephone offeringprogramming possibilities, a GPRS, UMTS terminal or any other piece ofequipment meeting the conditions detailed previously.

The remote connection is world-wide communication link between twopieces of equipment. It almost always implements global networks,whereof the Internet is the best representative. In this context, it maybe contemplated to have all the requests transit via a set relay server(proxy), so that said relay updates the global information regarding theset of requests. In all cases, the requests are at least transmittedintegrally. Comprised as an electronic device, the remote connectiondesignates a network transceiver, possibly controlled via communicationprotocols.

The customer software is a piece of software running on any type of userequipment to fulfil the following functions:

-   -   receive the identifiers transmitted by the barcode reader via        the local connection,    -   provide the user with the hypermedia document for accessing the        information and services relative to the resource designated by        the reader.

This piece of software is called customer software since it behaves as acustomer for the routing server on the one hand and for the documentserver whereof it must determine the address on the other hand.

It is realised as an application programme, for example using anobject-oriented programming language such as C++ or Java. It controlsthe user equipment via the programming interface specific to suchequipment.

The installation of this piece of software on a piece of user equipmentmay require a programme to be downloaded, the insertion of an electronicboard whereon it is implanted (chop card for mobile telephone, extensioncard for portable computer or digital assistant) or any other electronicor computerised method.

The customer software may be broken down into three modules:

-   -   a local receiver,    -   a router,    -   a navigator manager.

The local receiver is a programme whereof the role consists in listeningfurther for the local connection. It reacts to any message from thebarcode reader while activating the router and while transmitting tosaid reader the identifiers received from the reader.

This programme is running as long as the system is actuated. Conversely,when no message from the reader is being processed, it is the singleportion of the customer software in operation, which reduces theconsumption of the resources of the user equipment.

The router is a programme receiving from the local receiver the resourceidentifier and the reader identifier. Its role consists in applying tothese identifiers the address resolution algorithm to attempt todetermine the WEB address of a document server appropriate to theresource referred.

If such an address is obtained, the router adds according to a setsyntax both previous identifiers, as well as certain information whichthe user may have chosen to provide on its equipment (for examplecertain preferences or restrictions). The address thus completed locateswithout any ambiguity a hypermedia document exhibiting information andservices relative to the resource identified via the reader. The routerthen actuates the navigator manager and transmits to said manager theaddress of the document.

The address resolution algorithm is applied to the resource and readeridentifiers. This algorithm processes first of all the readeridentifier. If the identifier is known, i.e. if it listed on a routingtable (correspondence) stored on the user equipment and managed by therouter, then the programme extracts from the same table the routinginformation regarding the reader.

The routing table may be realised with diverse data structures; it formsa very simplified system for database management.

The routing information may contain:

a history of the previous requests with their result, whereof one willbe able to extract the address of a document server;

a single address of document server, for example in case when the readeris exclusively affiliated to such server or a relay server address,through which all the requests pertaining to a document server shouldtransit;

any other information peculiar to the reader and useful to the addressresolution.

In a second stage, the address resolution algorithm processes theresource identifier and the routing information extracted during thefirst step. In some cases, this data is sufficient to generate theaddress of the document server associated with the resource referred.For example, it may be agreed that an identifier exhibiting certainsimilarities with another identifier processed during a previous requestmust be associated with the address which resulted from this request.

If is not possible to conclude with this single data, the routertransmits to the routing server the reader identifier and the resourcereader, via the remote connection. This server returns to the router theaddress of the document server which it is waiting for, as well aspossibly the address of a relay server (proxy) associated, and theseaddresses are stored in the routing table.

The address resolution algorithm has therefore enabled to determine theaddress of the document server with at most a remote access to therouting server. It should be noted however that it may be necessary torefresh periodically the routing information, via additional requeststransmitted to the routing server during possible remote access.

In case when the reader identifier is not known from the router, thebehaviour of the latter depends on the operating mode wherein the userhas placed its customer equipment. In current mode, the resolutionprocedure is aborted and the message from the reader is thereforeignored. This normal situation may for example crop up if a messageradio-transmitted by a user's reader is received by the customerequipment of another user, who is not interested at all in hisneighbour's intentions.

If, conversely, the user has placed its customer equipment in receivingmode of a new barcode reader, then the new reader identifier istransmitted towards the routing server via the remote connection, sothat this server sends back to the router the routing informationpeculiar to the new reader. The receiving mode enables therefore torecord a new reader. Such information is placed in a new entry to therouting table, and the processing of the request by the customersoftware is completed.

The navigator manager is a programme whereof the role consists incausing the hypermedia navigator available on the user equipment toprovide the hypermedia document located by the address received from therouter.

The user is then free to navigate at will from the document which ispresented to him.

The navigator manager only controls the display of a document to theusual navigator of the user, who remains perfectly free to set it up athis discretion.

To illustrate the mechanism implemented, one may consider the example ofa WEB navigator to whom the navigator manager will order the creation ofa new window to display an HTML document. The address of this documentis provided to the navigator in the form of a URL complying with theHTTP protocol.

Another example consists in reproducing on a mobile telephone connectedto the Internet a sound document, located by an address complying withthe WAP protocol.

The routing server is the auxiliary information source of the<<Baracoda®>> system (denomination adopted for the set of components,methods and services linked with the invention).

The routing server is a piece of software running on one or severalcomputers fitted with a remote connection to fulfil the followingfunctions:

-   -   manage and update the routing information peculiar to each        barcode reader;    -   manage and update the information enabling to associate the WEB        address of a relay server with the WEB address of a document        server;    -   manage and update the information enabling to associate the WEB        address of a document server to a resource identifier        accompanied by a reader identifier;    -   manage and update the code of the different programmes forming        the customer software;    -   listen further to the remote connection in order to react to the        requests of a customer equipment by transmitting to said        customer the information that he requests.

It behaves therefore as a server for each piece of customer equipment,whereas the number of customers may be quite high. It responds to thedifferent requests of the router, but also to installation requests froma piece of user equipment that has not been fitted with the customersoftware.

The software routing server may be a single software running on a singlecomputer, or be distributed on several computers. The networkorganisation of these machines may itself implement diversearchitectures:

a hierarchical architecture, according to which the machines situated atthe lowest nodes hold local information and refer to higher rankmachines to obtain more general information;

a neighbouring architecture, each machine being at the same rank as itsneighbours and working in co-operation with the latter to access largelydistributed information;

any other architecture deemed efficient to share the processing load andcapable of improving the response time to requests.

The communication between the routing server and a piece of customerequipment may employ a corporate protocol specifically designed to thatend or a public protocol (HTTP or WAP for example). Different protocolsmay be selected according to the nature of the customer equipment(computer, digital assistant, mobile telephone, etc.).

The document server is the last element of the ‘<Baracoda®>> system.

The document server is a piece of software running on one or severalcomputers fitted with a remote connection to fulfil the followingfunctions:

-   -   manage and update a large number of hypermedia documents showing        the information and services relative to certain resources;    -   listen further to the remote connection in order to react to the        requests of a hypermedia navigator by transmitting to said        navigator the document that he requests.

The routing tables stored on the customer equipment or on the routingserver comprise not only the addresses of document servers but also theaddresses of relay servers associated with the document servers. Thesoftware component called “router” of the “customer software” istherefore capable of providing the component called “navigator manager”with an address based on that of the relay server, so that the latterfilters all the requests send to a given document server.

The relay server only re-transmits the request to the document serverwhich is the final assignee thereof. But it may in passing memorise thata request has been made and perform statistical processing of all therequests thus relayed. This additional service offered to certaindocument servers may constitute an added value for anyone whose wishesto know the look-up frequency based upon the barcodes, the total volumeof requests, their time distribution, etc.

The document server is the property of a third party wishing to providethe documents relative to certain resources. It is implemented andmanaged to the discretion of the owner. For example it may be the serverof an industrial company publishing its catalogue of products on theInternet. However, it must in order to be integrated into the<<Baracoda®>> system, be capable of interpreting the address transmittedby the navigator manager via the navigator.

To guarantee such compatibility at the lowest possible cost, the addressconsidered is in most cases in compliance with a public protocol. It maybe for example URL, HTTP or WAP. In such a case, the upgrade of anexisting WEB server only requires minor adaptation, for example thedesign of a single page of dynamic redirection.

The application of the radiocommunication module is not limited to themethod for reading barcodes and it is possible to implement the modulein other applications.

For example, the <<Bluetooth®>>—GPRS router is an electronic apparatuscomposed of a <<SmartModule>> and of a modem GSM, GPRS, EDGE or UMTS.Said apparatus carries out the conversion of protocol between the<<Bluetooth®>> communication protocol and the GPRS, EDGE or UMTSprotocol. It enables for example <<Bluetooth®>> products to access aremote network (Internet network for example). The applications of suchapparatus are numerous in the field of house computerised appliances andthe field of Internet access (ISP) for a residential user or a smallcompany.

The apparatus consists of a radiocommunication module and of aGSM/GPRS/EDGE/UMTS radio with management of the physical layer of theGSM/GPRS/EDGE/UMTS protocol and of the protocol stack considered as wellas of a specific software managing the quality of service and thesharing of the pass-band between the different users. Up to 7 productsfitted with the apparatus may use the services of the GPRS/UMTSsimultaneously, via the same <<Bluetooth®>>—GPRS router. More than 7pieces of equipment (up to 255) may access these services via the samerouter, but not simultaneously. These pieces of equipment may use atoken protocol (developed on the processor of the router) in order tosend or receive data regularly using the GPRS/UMTS connection.

Thanks to the apparatus which integrates the necessary hardware andsoftware, the user does not need to manage the complexity of the routingsoftware due to the necessity of sharing the pass-band in the ascendingdirection (from the <<Bluetooth®>>—GPRS access point towards the GPRSbase station).

The <<Bluetooth®>>—GPRS router is also used as a <<Hub>> within theframework of the construction of a local <<Bluetooth®>> network. One mayalso implement such router in house computerised appliances.Refrigerators, alarms, radiators, lighting units, on/off switches,thermometers and others sensors (water, gas, electricity meters),television set, VCRs may be connected to a remote network via a<<Bluetooth®>>—GPRS access point which is this <<Bluetooth®>>—GPRSrouter. In such an application of the router it is for example possibleto activate the heating system of one's country house via its mobiletelephone, remotely. The router may also be applied for accessingInternet at home with PCs or PDAs (portable electronic assistant) orinside a car.

1-31. (canceled)
 32. Interface module (42) for two-wayradiocommunication according to the <<Bluetooth®>> protocol for at leastone user application having data and instructions to be communicated toan external device, the module including at least one radio electroniccircuit (39, 40) for sending and receiving digital signals (43) and atleast one programmable electronic circuit with a radio microcontroller(37) for managing the radio electronic circuit (39, 40), wherein theradio microcontroller (37) includes hardware means cooperating withsoftware packages in the form of a software stack formed of a firstsection so-called protocol stack (38) topped with a second sectionso-called applicative abstraction stack (32), the software stackenabling adaptation according to the protocol between, on the one hand,the digital signals (43) and, on the other hand, the data andinstructions of the user application, the applicative abstraction stack(32) enabling at least the translation of data and instructions of theuser application into a corporate format in data and instructionsaccording to the protocol for processing in the stack in order to enablethe development of the application independently from the instructionsand formats of the radiocommunication protocol, the module being asingle hardware component also storing the user application in the formof a programme and ensuring its realization in the radio microcontroller(37), the software operation of the module being divided into tasksperformed according to priorities, the tasks associated with themanagement of the radio circuit having higher priority than theexecution tasks of the user application.
 33. A module according to claim32, wherein the applicative abstraction stack temporally manages the<<Bluetooth®>> connection mode, the interval of the running of the radioconnection being modified according to the use of the module and in thecourse of time in order to manage the consumption of said module.
 34. Amodule according to claim 33, wherein it includes, on the one hand, aradio printed circuit including an aerial, the radio electronic circuitfor sending and receiving in the form of a radio and of a base bandintegrated circuit and the programmable electronic management circuit inthe form of a microcontroller with storage means and, on the other hand,a printed circuit (41) interconnected with the radio printed circuitincluding at least one peripheral at least selected amongst: a digitalinput with possibly a comparator for level or transition detection, ananalogue input with analogue-digital converter with possibly an analogueamplifier with programmable gain or not, a digital output, an analogueoutput with digital-analogue converter, a voltage controllable regulatoror converter, an up/down counter, a real time clock, a charger circuitfor battery, a logic circuit, a memory, a specialized programmable logiccircuit notably selected amongst a microprocessor, a microcontroller, adigital signal processor or a dedicated circuit, a portion at least ofthe user application in the form of a programme being then stored insaid specialized programmable logic circuit and said specializedprogrammable logic circuit ensuring then its realization, theapplicative abstraction stack (32) may moreover comprise corporatesoftware means for processing instructions for retrieving data from theperipheral and/or sending data to the peripheral.
 35. A module accordingto claim 34, wherein it includes a reprogrammable memory as well asmeans enabling reprogrammation of said memory on the basis of datareceived by radiocommunication.
 36. A module according to claim 35,wherein the user application is in the reprogrammable memory.
 37. Amodule according to claim 36, wherein it is associated within a singlebox to an electrochemical supply source and at least one connectorwhereof the pins are linked with at least one interface of the module.38. An application of the module according to claim 37 to therealization of symbol reading pen (1) support, the pen including in anoptical sensor (2) a light source generating a light beam focused on thesupport and an optical detector intended to receive and convert thelight reflected by the support into electric signals, the pen beingstand-alone and including an internal electric power supply, the userapplication in the form of an operating programme including means forprocessing the electric signals of the optical detector and interfacingmeans via the radiocommunication module ensuring at least thetransmission of said symbols according to said protocol to adata-processing equipment.
 39. An application according to claim 38,wherein the symbols are barcodes.
 40. An application according to claim37 to the realization of a writing recognition reading pen, the penincluding at least two accelerometers according to two axes X and Ycorresponding to the writing plane and generating electric signals, thepen being stand-alone and including an internal electric power supply,the user application in the form of an operating programme includingmeans for processing the electric signals and recognizing the writing,and interfacing means via the radiocommunication module ensuring atleast the transmission of said writing according to said protocol to adata processing equipment.
 41. An application according to claim 37 tothe mains electric supply socket controlled by radiocommunication.
 42. Amethod for reading, processing, transmitting and using a symbol on asupport with a reading symbols pen according to claim 39, wherein: thesymbol is read with the pen, said electric signals are processed in theinterface module to generate digital and/or alpha-digital data, saiddigital and/or alpha-digital data are associated with a readeridentifier in order to generate a chain of corporate data, and the chainof corporate data is transmitted in real time to at least one customerequipment including at least a software to carry out a commandunderstandable by said customer equipment.
 43. A method according toclaim 42, wherein when a customer equipment is not available forreception, the chain of corporate data is stored in a memory of thereading pen.
 44. A method according to claim 43, wherein in the customerequipment one associates moreover to the chain of corporate data atleast one piece of data of customer equipment type in order to build acomputer address depending then on the symbol, on the reader identifierand on the data of equipment type.
 45. A method according to claim 44,wherein one implements a correspondence table in order to associate acomputer address to the chain of corporate data, possibly associatedwith at least one piece of data of customer equipment type, thecorrespondence table being situated in a computer server distinct fromthe customer equipment.
 46. A method according to claim 44, wherein oneimplements a correspondence table in order to associate a computeraddress with the chain of corporate data, possibly associated with atleast one piece of data of customer equipment type, and that thecorrespondence table is stored in the customer equipment by selectionaccording to a criterion in a global correspondence table situated in acomputer server distinct from the customer equipment, the criterionincluding at least the reader identifier.
 47. A method according toclaim 46, wherein one encodes according to an encoding algorithm thedigital and/or alpha-digital data before associating it with the readeridentifier.
 48. A method according to claim 46, wherein the computeraddress associated with the chain of corporate data is that of acomputer server relaying an information request to another computerserver.
 49. A method according to claim 48, wherein the symbol is abarcode.
 50. A method according to claim 49, wherein the support of thesymbol is a display screen and that the symbols are barcodescorresponding to a successive temporal chaining of dark and clearsurfaces on a display screen.
 51. A method according to claim 33,wherein it includes, on the one hand, a radio printed circuit includinga reprogrammable memory as well as means enabling reprogrammation ofsaid memory on the basis of data received by radiocommunication.